使用excel导入功能时日期数据变成数字的解决

您所在的位置:网站首页 日期用vlookup 变成数字 使用excel导入功能时日期数据变成数字的解决

使用excel导入功能时日期数据变成数字的解决

2024-07-13 17:08| 来源: 网络整理| 查看: 265

使用excel导入功能时日期数据变成数字的解决

在使用excel导入功能的时候,难免会导入日期类型的数据,这个时候无论使用easyexcel还是poi的导入方式,都有可能出现纯数字的日期。 1、如果输入的日期是1900年之前的,则不会变成纯数字; 2、如果是1900年之后的日期,则在导入的时候可能会变成数字: 原因 从这张图里面就能看出来原因:excel解析时间类型的数据的时候把日期转成文本类型了。 那么这个数字代表什么呢? 这个数字与上面提到的1900年相关,因为excel中的时间是从1900年开始的,而转换成文本类型的数字则代表着1900年之后的N天,知道这个原理之后,就很好解决这个问题了: 1)如果是正常的时间类型则进行日期转换(1900年之前日期是正常的文本类型); 2)如果是纯数字则进行日期的加法运算。 这个时候需要注意一点的是:1900-02-29这一天是不存在的,但是在excel中是可以输入并转换成数字的,所以需要特殊处理一下,整体处理的代码如下:

private String judgeMemberBirthday(MemberInfo member) { /** * 正整数判断(不包含0) */ private final Pattern pattern = Pattern.compile("^[1-9]\\d*$"); /** * excel中的起始时间 */ private final LocalDate excelStart = LocalDate.of(1899, 12


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3